草庐IT

php - 符号问题

全部标签

ruby-on-rails - Ruby:在 Windows 7 下安装 EventMachine 时出现问题

我正在尝试通过捆绑在Windows7上安装gemEventMachine(使用Ruby1.9.2和RubyInstaller),但出现以下错误。我还安装了DevKit,它可以正常工作,但我仍然无法弄清楚问题是什么:Installingeventmachine(0.12.10)withnativeextensionsC:/Ruby192/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:551:in`rescueinblockinbuild_extensions':ERROR:Failedtobuildgemnativeextension.(G

ruby - 为什么哈希中的这个字符串键转换为符号?

使用ruby2.3:在示例1中,字符串键"a"自动转换为符号,而在示例2中,它仍然是一个字符串。示例1{"a":1}#=>{:a=>1}示例2{"a"=>"c"}#=>{"a"=>"c"}我认为:与旧式哈希火箭=>语法相同。到底是怎么回事?为什么我在Rails中从未注意到这一点?是HashWithIndifferentAccess掩盖了这一点吗? 最佳答案 在Ruby2.3(.0)中,这些都是一样的:{:"a"=>1}{"a":1},{:a=>1}{a:1}它们都翻译成同一个东西:a在所有这些情况下都是一个符号。{"a"=>1}不同

ruby - Ruby 变量赋值中的双管道符号?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:Whatdoes||=meaninRuby?如果这是一个新手问题,请原谅我,但我正在阅读一本关于Rails的书,其中作者在辅助方法中使用了这个表达式:@current_user||=User.find_by_id(session[:user_id])这种双管道的使用还是booleanOR语句吗?如果是这样,它是如何工作的?

ruby-on-rails - Ruby/Rails - 用两个词命名的模型(命名约定问题)

这真的是一个关于命名约定的问题。我有一个名为PromotedEvents的模型该文件名为promoted_events.rb我创建了这个表:create_table:promoted_eventsdo|t|现在我在创建任何东西时都遇到了问题,所以我想知道使用带有两个词的模型是否存在问题我在控制台中尝试了a=PromotedEvents.newa=Promoted_Event.newa=promoted_event.new并不断收到nameerror:uninitializedconstant错误有什么想法吗? 最佳答案 你的类(cl

类的 Ruby 符号

在Ruby中有没有办法把一个符号或字符串变成一个同名的类?例如,如果我有一个类classBobdeftalkputs"Hi,I'mbob"endend我在代码中其他地方的一个方法被传递了一个符号:bob,我可以通过某种方式将其转换为类Bob吗?也许像b=:Bob.newb.talk或者有没有办法做类似的事情? 最佳答案 有很多方法可以做到这一点。您缺乏上下文,因此无法选择“最佳”方式。这里有一些方法。Kernel.const_get(:Bob)eval(:Bob.to_s)Kernel.const_get(:bob.to_s.cap

ruby-on-rails - 是否有与 PHP 的 isset() 等效的 Rails?

基本上只是检查以确保设置了url参数。我如何在PHP中做到这一点:if(isset($_POST['foo'])&&isset($_POST['bar'])){}这是RoR中isset()的粗略/最佳等价物吗?if(!params['foo'].nil?&&!params['bar'].nil?)end 最佳答案 更接近的匹配可能是#present?#returnstrueifnotnilandnotblankparams['foo'].present?还有一些其他的方法#returnstrueifnilparams['foo'].

ruby - 字符串问题的符号

以下代码失败world=:worldresult='hello'+worldputsresult#=>can'tconvertSymbolintoString以下代码有效world=:worldresult="hello#{world}"putsresult#=>helloworld为什么?使用ruby1.8.7 最佳答案 字符串插值是一个隐式的to_s调用。所以,像这样:result="hello#{expr}"或多或少等同于此:result="hello"+expr.to_s正如karim79所说,符号不是字符串,但符号确实具有

ruby - 在 Ruby 中的第一个 = 符号之后获取子字符串

纯粹出于好奇,有没有更优雅的方法来简单地获取字符串中第一个=符号之后的子字符串?以下工作回馈name=bob:string="option=name=bob"string[string.index('=')+1..-1]只是感觉不太像Ruby。这也有效:string.split('=',2)[1]同样,不是很优雅,特别是因为split正在做额外的不必要的工作。正则表达式是答案吗?对于在字符串中查找单个字符位置的简单性,我觉得这有点矫枉过正:string.match('=(.*)')[1]我不得不想象这是一个极其普遍的情况,不是有一个string.after('=')类型的方法吗?鉴于此

ruby-on-rails - 在 Rails 4.1 中,如何通过枚举符号查找记录?

假设我有这个模型:classConversation如何在不使用枚举的数值或不必遍历每个对话的情况下找到所有事件对话?我尝试执行Conversation.where(status::active),但没有产生任何结果。想到的唯一解决方案是遍历所有对话并选择事件对话,但这看起来不是一个好的解决方案。Conversation.all.select{|conversation|conversation.active?}我能做些什么吗? 最佳答案 ActiveRecord::Enum提供基于其值的范围。试试看:Conversation.ac

ruby - 如何获得符号链接(symbolic link)的目标?

我有一个包含现有符号链接(symboliclink)的文件系统路径的字符串。我想得到这个链接指向的路径。基本上我想要的是我通过这个hackery获得的相同内容:s="path/to/existing/symlink"`ls-ld#{s}`.scan(/->(.+)/).flatten.last但我想不花钱就去做。 最佳答案 我认为readlink是你要找的:File.readlink("path/to/symlink") 关于ruby-如何获得符号链接(symboliclink)的目标?